CC=g++
CFLAGS= -O2 -Wall

C= ./code
O= ./o
TEST= ./test

.PHONY	: all clean

all	: main
preguntas: preg_1 preg_2 
new: clean all
test: tester testInterpolar

main : $(O)/main.o $(O)/param.o $(O)/spline.o $(O)/evaluar.o $(C)/defs.h 
	$(CC) $(CFLAGS) $(O)/main.o $(O)/param.o $(O)/spline.o $(O)/evaluar.o $(C)/defs.h -o main
	
preg_1 : $(O)/preg_1.o $(O)/param.o $(O)/spline.o $(O)/evaluar.o $(C)/defs.h 
	$(CC) $(CFLAGS) $(O)/preg_1.o $(O)/param.o $(O)/spline.o $(O)/evaluar.o $(C)/defs.h -o preg_1	
	
preg_2 : $(O)/preg_2.o $(O)/param.o $(O)/spline.o $(O)/evaluar.o $(C)/defs.h 
	$(CC) $(CFLAGS) $(O)/preg_2.o $(O)/param.o $(O)/spline.o $(O)/evaluar.o $(C)/defs.h -o preg_2
	
tester: $(O)/test.o $(O)/spline.o $(O)/evaluar.o $(C)/defs.h 
	$(CC) $(CFLAGS) $(O)/test.o $(O)/spline.o $(O)/evaluar.o $(C)/defs.h -o tester
	
testInterpolar: $(O)/testInterpolar.o $(C)/defs.h 
	$(CC) $(CFLAGS) $(O)/testInterpolar.o $(C)/defs.h -o testInterpolar

$(O)/%.o : $(C)/%.cpp
	$(CC) $(CFLAGS) $^ -c -o $@
	./sh/move-cpp.sh
	
$(O)/%.o : $(TEST)/%.cpp
	$(CC) $(CFLAGS) $^ -c -o $@
	./sh/move-test.sh

clean :
	rm -f $(O)/main.o $(O)/param.o $(O)/spline.o $(O)/evaluar.o $(O)/test.o $(O)/testInterpolar.o $(O)/preg_1.o $(O)/preg_2.o main tester testInterpolar preg_1 preg_2
